package com.summer.bilibili.service;

import com.summer.bilibili.domain.enums.UserFlags;
import com.summer.bilibili.domain.user.UserFlag;
import com.summer.bilibili.dto.UserFlagDto;
import org.springframework.lang.Nullable;


import java.util.Map;

public interface UserFlagService extends BaseService< UserFlag > {
    /**
     * 获取用户所有标记,如果未设置会补充默认值
     */
    Map< UserFlags, String> getUserFlags( @Nullable Long userId);
    /**
     * 修改标记
     */
    void saveUserFlag( UserFlagDto dto);
    /**
     * 指定用户是否禁止该标记，如果未设置返回标记默认值
     */
    boolean isDeny(Long userId, UserFlags flag);
}
